{
 "metadata": {
  "name": "",
  "signature": "sha256:5f2a4a5b5fe63a11abfbc95e13dc5ea203b96034bff098e28cc756daf224de77"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%pylab inline"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stderr",
       "text": [
        "WARNING: pylab import has clobbered these variables: ['colors']\n",
        "`%matplotlib` prevents importing * from pylab and numpy\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "code",
     "collapsed": true,
     "input": [
      "X = np.load(open('zb.npy'))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 17
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "X"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 18,
       "text": [
        "array([[ 147.378387,  -36.536726],\n",
        "       [   4.356347,   50.854515],\n",
        "       [   8.573412,   47.385711],\n",
        "       ..., \n",
        "       [ -75.737342,   45.447185],\n",
        "       [ 114.217257,   22.286832],\n",
        "       [  19.950871,   50.045758]])"
       ]
      }
     ],
     "prompt_number": 18
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "X\u662f\u4ece\u4e00\u4e2a\u516c\u5171\u6570\u636e\u5e93\u91cc\u9762\u63d0\u53d6\u51fa\u6765\u7684\uff0c \u6bcf\u4e00\u4e2a\u6210\u5458\u4ee3\u8868\u5730\u56fe\u4e0a\u4e00\u4e2a\u70b9\n",
      "\n",
      "\u4ee5\u4e0b\u662f\u7528 matplotlib\u7ed8\u5236\u7684\u70b9\u5206\u5e03\u56fe\u3002"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "<img src = 'map2.jpg'></img>"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "\u805a\u7c7b\uff1aMean Shift\n",
      "Mean Shift \u805a\u7c7b\u7528\u6765\u53d1\u73b0\u5747\u5300\u5bc6\u5ea6\u6837\u672c\u4e2d\u7684\u5947\u5f02\u503c\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u57fa\u4e8e\u8d28\u5fc3\u7684\u7b97\u6cd5\uff0c\u901a\u8fc7\u4e0d\u65ad\u7684\u8ba1\u7b97\u7ed9\u5b9a\u533a\u57df\u5185\u7684\u70b9\u7684\u5747\u503c\u6765\u66f4\u65b0\u5019\u9009\u8d28\u5fc3\u3002\u7136\u540e\u901a\u8fc7\u540e\u671f\u5904\u7406\u53bb\u6389\u63a5\u8fd1\u91cd\u5408\u7684\u5019\u9009\u8d28\u5fc3\u6765\u5f62\u6210\u6700\u540e\u7684\u8d28\u5fc3\u3002\n",
      "\u7ed9\u5b9a\u8fed\u4ee3 t \u65f6\u7684\u5019\u9009\u8d28\u5fc3\uff0c\u5019\u9009\u8d28\u5fc3\u901a\u8fc7\u4e0b\u5217\u7b49\u5f0f\u6765\u66f4\u65b0\uff1a"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy as np\n",
      "from sklearn.cluster import MeanShift, estimate_bandwidth\n",
      "from sklearn.datasets.samples_generator import make_blobs\n",
      "\n",
      "X = np.load(open('zb.npy'))\n",
      "bandwidth = estimate_bandwidth(X, quantile=0.2, n_samples=500)\n",
      "ms = MeanShift(bandwidth=bandwidth, bin_seeding=True)\n",
      "ms.fit(X)\n",
      "labels = ms.labels_\n",
      "cluster_centers = ms.cluster_centers_\n",
      "labels_unique = np.unique(labels)\n",
      "n_clusters_ = len(labels_unique)\n",
      "print(\"\u8ba1\u7b97\u51fa\u7684\u7c7b\u4e2d\u5fc3\u6709 %d \u4e2a\u3002\" % n_clusters_)\n",
      "###############################################################################\n",
      "# \u5c06\u7ed3\u679c\u7ed8\u56fe\n",
      "import matplotlib.pyplot as plt\n",
      "from itertools import cycle\n",
      "plt.figure(1)\n",
      "plt.clf()\n",
      "colors = cycle('bgrcmykbgrcmykbgrcmykbgrcmyk')\n",
      "for k, col in zip(range(n_clusters_), colors):\n",
      "    my_members = labels == k\n",
      "    cluster_center = cluster_centers[k]\n",
      "    # \u7ed8\u5236\u5c5e\u4e8ek\u4e2d\u5fc3\u7684\u6837\u672c\u70b9\n",
      "    plt.plot(X[my_members, 0], X[my_members, 1], col + '.')\n",
      "    # \u7ed8\u5236\u7c7b\u4e2d\u5fc3\n",
      "    plt.plot(cluster_center[0], cluster_center[1], 'o', markerfacecolor=col,\n",
      "             markeredgecolor='k', markersize=14)\n",
      "plt.title('Estimated number of clusters: %d' % n_clusters_)\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\u8ba1\u7b97\u51fa\u7684\u7c7b\u4e2d\u5fc3\u6709 7 \u4e2a\u3002\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x7f8dadd401d0>"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "code",
     "collapsed": true,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}